AmazonAppFlowFullAccess を付与したIAMユーザで AppFlow が作成できないときの対処方法
困っていた内容
S3 を指定した AppFlow の作成時に「Access Denied」が表示されて、AppFlow が作成できません。
操作しているIAMユーザには AmazonAppFlowFullAccess を付与しており、S3 のバケット一覧などは表示できました。
AmazonAppFlowFullAccess だけでは権限不足なのでしょうか。対処方法を教えてください。
どう対応すればいいの?
S3 のバケット名をご確認ください。
AmazonAppFlowFullAccess は S3 を送信元/送信先に指定するために必要な権限を有していますが、S3 のバケット名がappflow-
で始まる場合という条件が付いています。
AWS managed policies for Amazon AppFlow - Amazon AppFlow
This policy automatically grants read and write permissions to S3 buckets with an appflow- prefix only. You will not have access rights to any other S3 buckets without this prefix.
そのため、appflow-
で始まる既存の S3 バケットをご指定いただくか、新規の S3 バケットをご作成ください。
appflow-以外のS3 バケットを指定したいときは?
以下のポリシーを操作するIAMユーザに追加で付与してください。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutBucketPolicy", "Resource": "*" } ] }
AmazonAppFlowFullAccess はAWS 管理ポリシーのため、編集はできません。そのため、上記のようなポリシーを追加で付与することで、appflow-
で始まる S3 バケット 以外にもアクセスが許可され、AppFlow で指定できるようになります。